Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Commit 10d78fbbfba7ea5152368e4e3b5e8dccae5da8df


Parents : 8345acd
Author : Ivan <ivan@quad4.io>
Signature : Invalid signer <e46112d44649266d71fe2193e00a4710>, author is <ivan@quad4.io>
Date : 2026-07-13T14:10:38-05:00

feat: update Makefile and docs

Changes

5 files changed, 26 insertions(+), 6 deletions(-)

M Makefile +18 -1
M README.md +3
M SECURITY.md +3 -3

Diff

diff --git a/.githooks/pre-commit b/.githooks/pre-commit
index cc60a639..eb33fea4 100755
--- a/.githooks/pre-commit
+++ b/.githooks/pre-commit
@@ -2,7 +2,7 @@
# pre-commit: keep meshchatx.rsm in sync with the staged tree inventory.
#
# Enable once per clone:
-# task hooks:install
+# make hooks-install
# # or: sh scripts/ci/install-git-hooks.sh
#
# Skip for one commit:
@@ -53,7 +53,7 @@ fi
if [ -z "$ID_PATH" ] || [ ! -f "$ID_PATH" ]; then
echo "pre-commit: staged inventory paths changed but no signing identity found." >&2
- echo "pre-commit: set RNS_ID_PATH or run: task tree-rsm-sign" >&2
+ echo "pre-commit: set RNS_ID_PATH or run: make tree-rsm-sign" >&2
echo "pre-commit: or skip with SKIP_TREE_RSM_HOOK=1" >&2
exit 0
fi

diff --git a/Makefile b/Makefile
index a62e119f..6ce41e95 100644
--- a/Makefile
+++ b/Makefile
@@ -1,9 +1,11 @@
# Compatibility shim — Taskfile.yml owns install, lint, test, and build targets.
+# Tree RSM targets call shell scripts directly so Make works without Task.
TASK ?= task
.DEFAULT_GOAL := help
.PHONY: install install-offline run dev dev-fe build format lint test test-be-perf clean help dist-linux dist-linux-x64
+.PHONY: tree-manifest tree-rsm-sign tree-rsm-verify hooks-install
install:
@$(TASK) install
@@ -44,6 +46,21 @@ dist-linux:
dist-linux-x64:
@$(TASK) dist:linux-x64
+tree-manifest:
+ sh scripts/ci/tree-manifest.sh generate
+
+tree-rsm-verify:
+ sh scripts/ci/verify-tree-rsm.sh
+
+tree-rsm-sign:
+ sh scripts/ci/sign-tree-rsm.sh
+
+hooks-install:
+ sh scripts/ci/install-git-hooks.sh
+
help:
- @echo "Makefile targets delegate to Task (see: task --list)."
+ @echo "Makefile targets (most delegate to Task, see: task --list)."
+ @echo " make tree-rsm-verify Verify meshchatx.rsm (no Task required)"
+ @echo " make tree-rsm-sign Sign tree inventory (requires RNS_ID_PATH)"
+ @echo " make hooks-install Enable .githooks pre-commit"
@$(TASK) --list

diff --git a/README.md b/README.md
index cce2b9be..4be3e200 100644
--- a/README.md
+++ b/README.md
@@ -430,6 +430,9 @@ task build
| `make lint` | `task lint` | ESLint, vue-tsc, knip, Ruff, and basedpyright |
| `make test` | `task test` | Run frontend and backend tests |
| `make clean` | `task clean` | Remove build artifacts and node_modules |
+| `make tree-rsm-verify` | (shell) | Verify `meshchatx.rsm` signature and hashes |
+| `make tree-rsm-sign` | (shell) | Sign tree inventory (requires `RNS_ID_PATH`) |
+| `make hooks-install` | (shell) | Enable tracked pre-commit RSM resign hook |
## Versioning

diff --git a/SECURITY.md b/SECURITY.md
index 3a292332..85192386 100644
--- a/SECURITY.md
+++ b/SECURITY.md
@@ -39,20 +39,20 @@ The repository root includes a signed rnid message file, `meshchatx.rsm`. It emb
Verify locally:
```bash
-task tree-rsm-verify
+make tree-rsm-verify
```
Maintainers regenerate the signature after intentional tree changes (requires a private identity file that hashes to the signer above, never commit `*.rid`):
```bash
export RNS_ID_PATH="$HOME/.local/share/reticulum-go/reticulum-go-release.rid"
-task tree-rsm-sign
+make tree-rsm-sign
```
Enable the tracked pre-commit hook so commits that change inventory paths resign `meshchatx.rsm` automatically when that identity is available:
```bash
-task hooks:install
+make hooks-install
```
Skip one commit with `SKIP_TREE_RSM_HOOK=1`.

diff --git a/meshchatx.rsm b/meshchatx.rsm
index 820f80fd..87c5e86a 100644
Binary files a/meshchatx.rsm and b/meshchatx.rsm differ


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────